package com.doit.day02

/**
 * 函数：也是一段代码逻辑的封装 便于后续的复用
 *
 * val fun =()=>{}
 * () 里面放的是函数的参数
 * => 函数声明的标志
 * {} 函数体
 * fun 函数名
 */
object _03_函数 {
  def main(args: Array[String]): Unit = {
    val res: Int = add(1, 2)
    val res2: Int = add(1, 2)
    println(res)

    val abc: (Int, Int) => Int = add

    val i: Int = add(1, 2)


    /*
    函数到底是个什么呢？？
     */
  }

  /**
   * 函数的调用和方法一样
   * (Int,Int)=> Int =(a:Int,b:Int)=>{a+b}
   */

  //定义一个两数相加求结果的函数  没有名字的函数，匿名函数
  val add :(Int,Int)=> Int = (a:Int, b:Int)=>{
    a + b
  }

  val hehe :(Int)=> Int = (a:Int) =>{a}

  val res :()=> Unit = ()=>{
    println("jingjing nihao,nibulengma")
  }

  //求三个数的最大值
  val getMax :(Int,Int,Int)=> Int = (a:Int,b:Int,c:Int)=>{
    var max = a
    if(max < b) max = b
    if(max < c) max = c
    max
  }

  //定义一个函数，返回mysql的连接对象

  //在定义一个函数，里面传一个值(int 类型的值) 看这个值是1-9 还是不在这个范围里面，传几，就打印99乘法表中的几



/*  val 函数名 = ()=>{}
  (传的是参数，你给我两个int类型的值) ==》 {
    函数体
    有东西给我返回 我对你这两个值求和 返回求和的结果
    最后一行代码也是返回值
  }*/

}
